|
C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。 ==特徴== * 汎用性が高い。プログラムの自由度や、目的に応じた拡張が容易であるため、パソコンソフトからゲームの作成、機械制御やシステム管理など、あらゆる分野に適応している。 * 対応する機器の範囲が広い。パソコンはもちろん、自動車や家電の組込み用マイコンからスーパーコンピュータまで、C言語を使用できるハードウェアは多様である。多目的性と、対応機器の多彩さのため、「コンピュータを使ってやること」は大抵、C言語で対応可能である。 * 商用・非商用を問わず、採用ソフトウェア分野が広い。作成や使用のための補助的なソフトウェアが豊富である。 * 機械語に変換するソフトなどの開発環境がCPUに付属していたり無償だったりするものもあるため、ライセンス料の支払いをしなくても使用が始められる。 * 開発時期が古く、文法に機械語の影響が強く、複雑である。この欠点を補正するためのちに開発された新言語に比較し、記述することが多く、面倒で習得しにくい低レベル〔IT用語における低レベル、低級、低水準言語とは、機械語の影響が強い、人間には複雑で読み書きに負担の大きい言語を指す。対して人間のためより最適化された新言語が「高水準、高レベル」であり、言語としての優劣には関係がない。高レベル言語は人間に理解しやすく読みやすい。低レベル言語は人間にとって面倒な反面、機械の負担する部分が相対的に少ないため、実行速度が速い〕言語である。 * アマチュアからプロ技術者まで、プログラマ人口が多く、プログラマのコミュニティが充実している。C言語は使用者の多さから、正負の両面含め、プログラミング文化に大きな影響を及ぼしている。 * 言語の適用先であるの場合、大抵のことがスクリプト言語・マクロプロセッサやフィルタやそれらの組み合わせで処理できるため、うまく分野の棲み分けができていた面があった。仕様規格・派生言語も多く幅広い領域への移植の結果、適切でない分野にC言語が使われている場合もある。 * C言語は手続き型言語の側面と関数型言語の側面がある。コンパイラ言語とOSを念頭に設計している。アセンブラのコードと同じことを実現できるようなコンピュータ寄りの言語仕様になっている。低水準な記述が出来る高級言語とも、高級言語の顔をした低級言語と言うことがある。 * C コンパイラは、移植の容易性、自由度、実行速度、コンパイル速度などを追求した。代わりにコンパイル後のコードの安全性を犠牲にしている。セキュリティーの脆弱性や潜んだバグによる想定外の動作、コンパイラによる最適化の難しさがある。最適化するとコンパイル速度が遅くなるなどの欠点が生じることがある。自動車分野ではMISRA-CというC言語部分集合(subset)を定義して、C言語の弱点を補っている。 * および C コンパイラの移植性を高めるために開発してきた経緯から、オペレーティングシステムカーネルおよびコンパイラ向けの低レベル記述ができる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「C言語」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 C (programming language) 」があります。 スポンサード リンク
|